package com.kapcb.statemachine;

/**
 * <a>Title: Condition </a>
 * <a>Author: Kapcb <a>
 * <a>Description: Condition <a>
 *
 * @author Kapcb
 * @version 1.0
 * @date 2024/7/11 20:14
 * @since 1.0
 */
public interface Condition<C> {

    /**
     * @param context context object
     * @return whether the context satisfied current condition
     */
    boolean isSatisfied(C context);

    default String name() {
        return this.getClass().getSimpleName();
    }

}
